package osSRC.schedule;

import java.util.LinkedList;

abstract class ProcessScheduler {
	String[] Titles;
	LinkedList<PCB> readyQueue,finishedQueue;
	int currentTime;
	int timeSlice;
	ProcessScheduler(){}
	ProcessScheduler(LinkedList<PCB> PCBs){
		this.readyQueue= PCBs;
		this.finishedQueue=new LinkedList<>();
		this.Titles=new String[3];
		this.Titles[0]="Name\tTime\t\tTime\tState";
		this.Titles[1]="\t\tElapsed\t\tNeeded\t\t";
		this.Titles[2]="\t\t\t\t\t\t\t\t";
	}
	abstract void scheduling();
	void showFinishedQueue(){
		for (PCB pcb:finishedQueue)
			System.out.println(pcb);
	}
	void showReadyQueue(){
		for (PCB pcb:readyQueue)
			System.out.println(pcb);
	}
}
